IF exists(SELECT * FROM dbo.sysobjects WHERE name='r_XMLtrimesterlijstCommentaar' AND xtype='P') 
BEGIN
	DROP PROCEDURE r_XMLtrimesterlijstCommentaar
END
GO

CREATE          procedure r_XMLtrimesterlijstCommentaar(@klas varchar(5), @school varchar(50), 
		@periode int, @jaar int)
as
set nocount on

set @klas = isNull(@klas,'')
set @school = isNull(@school,'')
set @periode = isNull(@periode,0)
set @jaar = isNull(@jaar,0)

create table #vakken(vakcode char(2), volgnummer char(2))

insert into #vakken(vakcode,volgnummer)
select vakcode,volgNummer from leraars.dbo.alleKlasVakcodes(@klas)

create table #tussen( tekst varchar(8000))

insert into #tussen(tekst)
values('<?xml version="1.0"  encoding="ISO-8859-1" ?>')
insert into #tussen(tekst)
values('<?xml-stylesheet type="text/xsl" href="commentaar.xsl" ?>')

-- De juiste stijl-pagina wordt aan de XML-pagina gelinkt.

insert into #tussen(tekst)
values('<commentaarlijst><hoofding><titel>' + @klas + ' Commentaar semester ' + convert(varchar(2),dbo.WEB_rapportPeriode(@klas,@periode)) +
				'</titel>')
insert into #tussen(tekst)
values('<school>' + @school + '</school>')

insert into #tussen(tekst)
values('<per>' + convert(varchar(2),@periode) + '</per>')

insert into #tussen(tekst)
values('<klas>' + @klas + '</klas>')

insert into #tussen(tekst)
values('<periode>Commentaar semester ' + convert(varchar(2),dbo.WEB_rapportPeriode(@klas,@periode)) 
	+ ' - schooljaar ' + convert(varchar(4),@jaar) + ' - ' +
	+ convert(varchar(4),@jaar + 1) + '</periode>')
insert into #tussen(tekst)
values('</hoofding>')

insert into #tussen(tekst)
values('<leerlingen>')

--Een cursor die over de leerlingen van de klas loopt.
declare @inschrijvingsNr char(7)
declare @achternaam varchar(50)
declare @voornaam varchar(50)

declare deCursor cursor local for 
  select inschrijvingsNr,achternaam,voornaam
  from leerlingen.dbo.leerlingen
  where klas= @klas 
  order by klasNr
for read only
open deCursor
fetch next from deCursor into @inschrijvingsNr,@achternaam,@voornaam

while (@@fetch_status=0)
begin
  -- De naam van de leerling wordt ingevoegd
  insert into #tussen(tekst)
  values('<lln><naam>' + isNull(@voornaam,'') + ' ' + isNull(@achternaam,'') + '</naam>')

  -- De vakresultaten van de leerling worden ingevoegd
  insert into #tussen(tekst)
  select '<com vak="' + c.vak + '">' 
	+ convert(varchar(8000),tekst)
	+ '</com>'
  from r_trimestercommentaar as c 
	left join #vakken as v
	on c.vak = v.vakcode
  where c.inschrijvingsNr = @inschrijvingsNr
	and c.periode = @periode
  order by v.volgNummer

-- Afsluiting
  insert into #tussen(tekst)
  values('</lln>')
  
  fetch next from deCursor into @inschrijvingsNr,@achternaam,@voornaam
end
  insert into #tussen(tekst)
  values('</leerlingen></commentaarlijst>')
 
select * from #tussen